package com.visionet.waveletData.web.service.business;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.stereotype.Service;

import com.visionet.waveletData.web.common.utils.PageInfo;
import com.visionet.waveletData.web.entity.business.UserInfo;
import com.visionet.waveletData.web.repository.account.UserDaoPlus;
import com.visionet.waveletData.web.repository.business.UserInfoDao;
import com.visionet.waveletData.web.repository.business.specs.UserInfoSearchSpecs;
import com.visionet.waveletData.web.service.BaseService;

//@Service
//public class UserInfoService extends BaseService{
//    @Resource
//    private UserDaoPlus userDaoPlus;
//	@Autowired
//    private UserInfoDao userInfoDao;
//	@Resource
//	private UserInfoDaoPlus userInfoDaoPlus;
//	@Autowired
//	private UserDao userDao;
//	@Autowired
//	private ChatConnection chatConnection;
//    @Autowired
//    private UserSignDao userSignDao;


	
//	/**
//	 * 根据条件查询用户信息
//	 * @param userInfo
//	 * @return
//	 */
//	public Page<UserInfo> findUserInfoByConditionForList(UserInfo userInfo,PageInfo pageInfo){ 
//		PageRequest pageRequest = null;
//		if(pageInfo==null){
//			pageInfo = new PageInfo();
//			pageInfo.setPageSize(5000);
//		}
//		pageRequest=this.getPageRequestInfo(pageInfo);
//		Page<UserInfo> page = userInfoDao.findAll(UserInfoSearchSpecs.searchTeamByCondition(userInfo),pageRequest);
//		pageInfo.setTotalCount(page.getNumberOfElements());
//		return page;
//		
//	}
//	
//	public PageRequest getPageRequestInfo(PageInfo pageInfo) {
//		Sort sort = new Sort(Direction.ASC, "id");
//		return new PageRequest(pageInfo.getPageNumber() - 1,pageInfo.getPageSize(), sort);
//
//	}
	
////	/**
////	 * 获取头像下载uri
////	 * @param userId
////	 * @return
////	 */
////	public static String getUserImgUrl(Long userId){
////		UserInfo ui = CacheService.GetUser(userId);
////		if(ui == null) return null;
////		String url= ui.getImageUrl();
////		if(Validator.isNull(url)){
////			return null;
////		}else{
////			return UploadUtil.GetDownloadPath() + url;
////		}
////		
////	}
////	
////	public static String getUserImgUri(Long userId){
////		UserInfo ui = CacheService.GetUser(userId);
////		if(ui == null || ui.getImageUrl() == null) return null;
////		String url= ui.getImageUrl();
////		if(Validator.isNull(url)){
////			return null;
////		}else{
////			return PropsUtil.getProperty(PropsKeys.UPLOAD_FILE_ROOT_PATH) + url;
////		}
////		
////	}
//	
//	
//	/**
//	 * 获取用户昵称
//	 * 当前用户A，如果对B用户设过昵称N则返回N，没有设过则返回B的原名
//	 * @param userId
//	 * @return
//	 */
//	public static String getUserName(Long userId){
////		try {
////			if(ui == null) return null;
////			String nickname = UserNicknameService.findNickname(BaseController.getCurrentUserId(), userId);
////			if(nickname == null){
////				return ui.getUserName();
////			}
////			return nickname;
////		} catch (Exception e) {
////			_log.error("getUserNickname error",e);
////			return null;
////		}
//		return getAliasName(userId);
//	}
//
//    public static String getUserLoginName(Long userId){
//        if(userId == null) return null;
//        UserInfo ui = CacheService.GetUser(userId);
//        if(ui == null) return null;
//        return ui.getLoginName();
//    }
//    public static Long getDepartmentId(Long userId){
//        if(userId == null) return null;
//        UserInfo ui = CacheService.GetUser(userId);
//        if(ui == null) return null;
//        return ui.getDepartmentId();
//    }
//    public static Long getUserOrgId(Long userId){
//        if(userId == null) return null;
//        UserInfo ui = CacheService.GetUser(userId);
//        if(ui == null) return null;
//        return ui.getOrgId();
//    }
//
//	public static String getTrueName(Long userId){
//        if(userId == null) return null;
//		UserInfo ui = CacheService.GetUser(userId);
//		if(ui == null) return null;
//		return ui.getTrueName();
//	}
//	public static String getAliasName(Long userId){
//        if(userId == null) return null;
//		UserInfo ui = CacheService.GetUser(userId);
//		if(ui == null) return null;
//		return ui.getUserName();
//	}
//    public static Integer getUserBadge(Long userId){
//        if(userId == null) return null;
//        UserInfo ui = CacheService.GetUser(userId);
//        if(ui == null) return null;
//        return ui.getBadge();
//    }
//    public static String getSignature(Long userId){
//        if(userId == null) return null;
//        UserInfo ui = CacheService.GetUser(userId);
//        if(ui == null) return null;
//        return ui.getSignature();
//    }
//    public static Integer getUserLevel(Long userId){
//        if(userId == null) return null;
//        UserInfo ui = CacheService.GetUser(userId);
//        if(ui == null) return null;
//        return ui.getLevel();
//    }
//    public static Float getUserIntegral(Long userId){
//        if(userId == null) return null;
//        UserInfo ui = CacheService.GetUser(userId);
//        if(ui == null) return null;
//        return ui.getIntegral();
//    }
//    public static String getUserIntegralUpDown(Long userId){
//        if(userId == null) return null;
//        UserInfo ui = CacheService.GetUser(userId);
//        if(ui == null) return null;
//        return ui.getIntegralUpDown();
//    }
//	public static String getUserTitle(Long userId){
//        if(userId == null) return null;
//		UserInfo ui = CacheService.GetUser(userId);
//		if(ui == null) return null;
//		return ui.getTitle();
//	}
//	public static String getUserLocale(Long userId){
//        if(userId == null) return null;
//		UserInfo ui = CacheService.GetUser(userId);
//		if(ui == null) return null;
//		return ui.getLocale();
//	}
//	
//	public UserInfoVo getUserInfoVo(String loginName){
//		if(Validator.isNull(loginName)) return null;
//		UserInfo ui = userInfoDaoPlus.findByLoginName(loginName);
//		if(ui == null) return null;
//		return BeanMapper.map(ui, UserInfoVo.class);
//		
//	}
//	/**
//	 * 获取用户邮箱
//	 * @param userId
//	 * @return
//	 */
//	public static String getUserEmail(Long userId){
//		UserInfo ui = CacheService.GetUser(userId);
//		if(ui == null) return null;
//		return ui.getEmail();
//	}
//	
//	public static String getTeamEmail(Long teamId){
//		return CacheService.GetTeamMail(teamId);
//	}
//	
//	
//	public UserInfo findUserInfoByUserId(Long userId){
//        return userInfoDao.findUserById(userId);
//	}
//	
//	public UserInfo findUserInfoById(Long id){
//		return userInfoDaoPlus.findByIdAndIsLock(id,SysConstants.USER_ACTIVITY_ENABLED);
//	}
//	
//	public UserInfo findByEmail(String email){
//		return userInfoDao.findByEmail(email);
//	}
//	public UserInfo findByUserName(String userName,Long orgId){
//		return userInfoDao.findByUserNameAndOrgIdAndIsLock(userName,orgId,SysConstants.USER_ACTIVITY_ENABLED);
//	}
//	public List<UserInfo> findByUserNameFuzzy(String userName,Long orgId){
//		return userInfoDao.findByUserNameFuzzy(userName,orgId,SysConstants.USER_ACTIVITY_ENABLED);
//	}
//	
//	public List<Object[]> findByEmailList(List<String> emails){
//		return userInfoDao.findByEmailList(emails);
//	}
//    public List<Object[]> findByPhoneList(List<Long> phoneNumberList){
//        return userInfoDao.findByPhoneList(phoneNumberList);
//    }
//    public List<Object[]> findByChexiangList(List<String> chexiangAccountList){
//        return userInfoDao.findByChexiangList(chexiangAccountList);
//    }
//
//	/**
//	 * 根据条件查询用户信息
//	 * @param userInfo
//	 * @return
//	 */
//	public Page<UserInfo> findUserInfoByConditionForList(UserInfo userInfo,PageInfo pageInfo){ 
//		PageRequest pageRequest = null;
//		if(pageInfo==null){
//			pageInfo = new PageInfo();
//			pageInfo.setPageSize(5000);
//		}
//		pageRequest=this.getPageRequestInfo(pageInfo);
//		Page<UserInfo> page = userInfoDao.findAll(UserInfoSearchSpecs.searchTeamByCondition(userInfo),pageRequest);
//		pageInfo.setTotalCount(page.getNumberOfElements());
//		return page;
//		
//	}
//	
//	public List<UserInfo> findUserInfoByCondition(UserInfo userInfo,PageInfo pageInfo){ 
//		PageRequest pageRequest = null;
//		if(pageInfo!=null){
//			pageRequest=pageInfo.getPageRequestInfo();
//			Page<UserInfo> page = userInfoDao.findAll(UserInfoSearchSpecs.searchTeamByCondition(userInfo),pageRequest);
//			pageInfo.setTotalCount(page.getNumberOfElements());
//			return page.getContent();
//		}else{
//			return  userInfoDao.findAll(UserInfoSearchSpecs.searchTeamByCondition(userInfo),pageRequest).getContent();
//		}
//	}
//	
//	public PageRequest getPageRequestInfo(PageInfo pageInfo){
//		Sort sort = new Sort(Direction.ASC,"firstLetter");
//		return new PageRequest(pageInfo.getPageNumber() -1 , pageInfo.getPageSize(), sort);
//		
//	}
//
//	
//	/**
//	 * 修改用户信息
//	 * @param userInfo
//	 */
//	@Transactional(readOnly = false)
//	public UserInfo updateUserInfo(UserInfo userInfo){
//		//********************同步node聊天应用---修改用户昵称和头像****************************
//		return userInfo;
//	}
//	
//	public UserInfo updateUserInfo(UserInfoVo vo){
//		return updateUserInfo(BeanConvertMap.map(vo, UserInfo.class));
//	}
//	
//	
//	
//	
//	
//	/**
//	 * 删除用户信息
//	 * @param userInfo
//	 */
//	@Transactional(readOnly = false)
//	public void deleteUserInfo(UserInfo userInfo){
//		if(userInfo.getId() == null){
//			throw new ServiceException("id is null!");
//		}
//		userInfo.setIsLock(SysConstants.USER_ACTIVITY_DISABLED);
//		userInfo.setUpdateDate(DateUtil.getCurrentDate());
//		userInfoDao.save(userInfo);
//		
//		
//		//********************同步node聊天应用---锁定用户****************************
//		Map<String,String> userMap = new HashMap<String,String>();
//		userMap.put("refId", userInfo.getId().toString());
//		userMap.put("lockFlag", SysConstants.USER_ACTIVITY_DISABLED.toString());
//		boolean syncNodeUser = chatConnection.editUser(userMap);
//		if(!syncNodeUser){
//			throw new RestException("sync node data fail");
//		}
//		//********************同步node聊天应用---锁定用户****************************
//	}
//	
//	
//	/**
//	 * 获取当前用户的对面 通信录
//	 * 领导获取其秘书UserInfo，秘书获取其领导UserInfo
//	 * @return
//	 */
//	public UserInfo getPartnerUser(){
//		return this.findUserInfoByUserId(BaseController.getLeaderOrAssistantId());
//	}
//
//	@Transactional(readOnly = false)
//	public void updateUserImg(Map<String, Object> params, Long currentUserId)
//			throws Exception {
////		String xStr = params.get("x") + "";
////		String yStr = params.get("y") + "";
////		String wStr = params.get("w") + "";
////		String hStr = params.get("h") + "";
////		String filePath = (String) params.get("filePath");
////		String fileType = (String) params.get("fileType");
////		String userImage = (String) params.get("userImage");
////        String path = PropsUtil.getProperty(PropsKeys.UPLOAD_FILE_DOWNLOAD_PATH);
////        if(userImage.contains(path)){
////            userImage = userImage.substring(userImage.indexOf(path) + path.length());
////        }
////
////		int x = 0;
////		int y = 0;
////		int w = 150;
////		int h = 150;
////
////		if (Validator.isNotNull(xStr) && !xStr.equals("null")) {
////			x = Double.valueOf(xStr).intValue();
////		}
////		if (Validator.isNotNull(yStr) && !yStr.equals("null")) {
////			y = Double.valueOf(yStr).intValue();
////		}
////		if (Validator.isNotNull(wStr) && !wStr.equals("null")) {
////			w = Double.valueOf(wStr).intValue();
////		}
////		if (Validator.isNotNull(hStr) && !hStr.equals("null")) {
////			h = Double.valueOf(hStr).intValue();
////		}
////
////		String realFilePath = PropsUtil.getProperty(PropsKeys.UPLOAD_FILE_ROOT_PATH);
////		realFilePath = realFilePath.replace(StringPool.BACK_SLASH, StringPool.SLASH);
////		realFilePath = realFilePath + userImage;
////		
////		String userCuttedImgPath = ImageUtil.saveImgByPoint(x, y, w, h, realFilePath, fileType);
////		
//////		Image image = new Image();
//////		image.setType(fileType);
//////		image.setMaxUrl(userCuttedImgPath);
//////		image.setMinUrl(userCuttedImgPath);
//////		image.setCreateId(currentUserId);
//////		image.setName(new File(filePath).getName());
//////		imageDao.save(image);
////		
//////		ImageFolder imageFolder = imageFolderService.getDefaultFolderByIdType(currentUserId, "3");
////		
//////		imageFolder.getImageList().add(image);
//////		imageFolder.setFolderType(KeyWord.USER_HEADIMG_FOLDER);
//////		imageFolderDao.save(imageFolder);
////		
////		//保存用户信息
////		UserInfo user = userInfoDao.findOne(currentUserId);
////		user.setImageId(image.getId());
////		user.setImageUrl(image.getMinUrl());
////		user.setUpdateDate(DateUtil.getCurrentDate());
////		userInfoDao.save(user);
////		
////		CacheService.put(CacheService.USER_KEY+user.getId(), user);
////		
////		//更新cookie
////		ShiroUser suser = (ShiroUser) SecurityUtils.getSubject().getPrincipal();
////		suser.userImgUrl = UploadUtil.GetDownloadPath() + image.getMinUrl();
////		
////		
////		
////		//********************同步node聊天应用---修改用户头像****************************
////		Map<String,String> userMap = new HashMap<String,String>();
////		userMap.put("refId", user.getId().toString());
////		userMap.put("profilePhoto", user.getUserImgUrl());
////		boolean syncNodeUser = chatConnection.editUser(userMap);
////		if(!syncNodeUser){
////			throw new RestException("sync node data fail");
////		}
////		//********************同步node聊天应用---修改用户头像****************************
//	}
//	
//	/**
//	 * 查询当前月过生日的用户
//	 * @return
//	 */
//	public List<UserInfo> findCurrMothBirthUser(){
//		Calendar c = Calendar.getInstance();
//		String currMoth ="";
//		int moth = c.get(Calendar.MONTH)+1 ;
//		if(moth < 10){
//			currMoth = "0" + moth;
//		}else{
//			currMoth = moth+"";
//		}
////		return userInfoDaoPlus.findCurrMothBirthUser(currMoth,BaseController.getCurrentOrgId());
//		return null;
//	}
//	
//	public UserInfo findById(Long id){
//		return userInfoDao.findOne(id);
//	}
//
//	public Page<UserInfo> getAttentionList(Long currentUserId, String userName, PageInfo pageInfo) {
//		if(pageInfo==null){
//			pageInfo = new PageInfo();
//			pageInfo.setPageNumber(1);
//			pageInfo.setPageSize(1000);
//            pageInfo.setSortColumn(null);
//		}
//		Pageable page = pageInfo.getPageRequestInfo();
//		Page<UserInfo> pageList ;
//		if(Validator.isNull(userName)){
//			pageList = userInfoDao.findAttentionList(currentUserId, page);
//		}else{
//			pageList = userInfoDao.findAttentionList(currentUserId, userName, page);
//		}
//		return pageList;
//	}
//    public Page<UserInfo> getFansList(Long currentUserId,String userName, PageInfo pageInfo) {
//        if(pageInfo==null){
//            pageInfo = new PageInfo();
//            pageInfo.setPageNumber(1);
//            pageInfo.setPageSize(1000);
//            pageInfo.setSortColumn(null);
//        }
//        Pageable page = pageInfo.getPageRequestInfo();
//        Page<UserInfo> pageList ;
//        if(Validator.isNull(userName)){
//            pageList = userInfoDao.findFansList(currentUserId, page);
//        }else{
//            pageList = userInfoDao.findFansList(currentUserId, userName, page);
//        }
//        return pageList;
//    }
//
//	public List<UserInfoVo> findUsersByIntegral(Long orgId) {
//		Pageable page = new PageRequest(0, 10);
//		List<UserInfo> ulist = userInfoDao.findUsersByIntegral(orgId, page);
//        List<UserInfoVo> list = Lists.newArrayList();
//        for(int i = 0;i<ulist.size();i++){
//            UserInfo ui = ulist.get(i);
//            UserInfoVo vo =  BeanConvertMap.map(ui,UserInfoVo.class);
//            vo.setRanking(i+1);
//            list.add(vo);
//        }
//		return list;
//	}
//	
//	public List<UserInfoVo> findUserIdByDepartment(Long departmentId){
//		List<UserInfoVo> voList = Lists.newArrayList();
//		List<Long> list = userInfoDao.findUserIdByDepartment(departmentId);
//		for(Long id:list){
//			voList.add(new UserInfoVo(id));
//		}
//		return voList;
//	}
//	
//	public boolean checkTrueNameDept(Long userId){
//		Long count = userInfoDao.findTrueNameDeptExist(userId);
//		if(count>0){
//			return true;
//		}else{
//			return false;
//		}
//		
//	}
//	
//	public List<Object[]> getExportList(Long orgId){
//		return userInfoDao.findExportList(orgId);
//	}
//
//    public List<Object[]> findModeratorList(Date begin,Date end,Long orgId){
//        return userInfoDao.findModeratorList(begin,end,orgId);
//    }
//
////    public void processUserLevel(Long orgId){
////        List<Object[]> list = userInfoDao.findUserLevelList(orgId);
////        for(Object[] obj:list){
////            int level = CalculateUserLevel((Integer)obj[2],((BigInteger)obj[3]).intValue());
////            if(level != ((Short)obj[1]).intValue()){
////                userInfoDao.updateUserLevel(((Integer)obj[0]).longValue(),level);
////            }
////        }
////    }
//
//    /**
//     * 个人勋章计算：积分/10 ＋ 粉丝*4
//     * @return
//     */
////    public static int CalculateUserLevel(Integer integral,Integer shipNum){
////        //TODO
////        return integral/10 + shipNum *4;
////    }
//
//
////    @Transactional(readOnly = false)
////    public synchronized Float userSignDaily(Long userId,Long orgId) throws Exception{
//////        UserSign userSign = userSignDao.findByUserId(userId);
////        List<UserSign> userSignList = userSignDao.findByUserId(userId);
////        UserSign userSign ;
////        if(Collections3.isEmpty(userSignList)) {
////            userSign = new UserSign();
////            userSign.setUserId(userId);
////            userSign.setLastIntegral(1F);
////            userSign.setSignDate(DateUtil.getCurrentDate());
////            userSign.setOrgId(orgId);
////
////        }else {
////            userSign = userSignList.get(0);
////            if(userSign.getSignDate().after(DateUtil.trimDate(DateUtil.getCurrentDate()))){
////                //当日已签到
////                throwException(BusinessStatus.ILLEGAL,"重复签到！");
////            }
////
////            if(userSign.getLastIntegral()<10) {
////                userSign.setLastIntegral(userSign.getLastIntegral() + 1);
////            }
////            userSign.setSignDate(DateUtil.getCurrentDate());
////
////            if(userSignList.size()>1){
////                for(int i=1;i<userSignList.size();i++){
////                    userSignDao.delete(userSignList.get(i));
////                }
////            }
////        }
////
////        userSignDao.save(userSign);
////
//////        integralTotalService.userSignIntegral(userSign);
////
////        return userSign.getLastIntegral();
////    }
//
//    public boolean checkDaySign(Long userId){
////        UserSign userSign = userSignDao.findByUserId(userId);
//        UserSign userSign = null;
//        List<UserSign> userSignList = userSignDao.findByUserId(userId);
//        if(Collections3.isNotEmpty(userSignList)) {
//            userSign = userSignList.get(0);
//        }
//        if(userSign!=null && userSign.getSignDate().after(DateUtil.trimDate(DateUtil.getCurrentDate()))){
//            //当日已签到
//            return true;
//        }else{
//            return false;
//        }
//    }
//
//
//    public List<UserInfoVo> findUserByDepartment(Long departmentId,Long orgId){
//        List<UserInfo> list ;
//        if(departmentId!=null){
//            list = userInfoDao.findUserByDepartment(departmentId, orgId);
//        }else{
//            list = userInfoDao.findNoDeptUser(orgId);
//        }
//        return BeanConvertMap.mapList(list,UserInfoVo.class);
//    }
//
//
//    public List<Map<String,Object>> findIntegralRanking(Long userId){
//
//        List<Object[]> list1 = userInfoDao.findIntegralRanking1(userId,new PageInfo(1,21).getPageRequestInfo());
//        List<Object[]> list2 = userInfoDao.findIntegralRanking2(userId,new PageInfo(1,10).getPageRequestInfo());
//        Long rankingNum = userInfoDao.findIntegralRankingNum(userId);
//
//        List<Map<String,Object>> positionList = Lists.newArrayList();
//        for(int i =list1.size()-1;i>=0;i--){
//            Object[] obj = list1.get(i);
//            Map<String,Object> map = Maps.newHashMap();
//            map.put("id",obj[0]);
//            map.put("userName",obj[1]);
//            map.put("integral",obj[2]);
//            if(obj[0].toString().equals(userId.toString())){
//                map.put("self",1);
//            }else{
//                map.put("self",0);
//            }
////            map.put("userImgUrl",UserInfoService.getUserImgUrl((Long)obj[0]));
//            map.put("integralUpDown",UserInfoService.getUserIntegralUpDown((Long)obj[0]));
//            map.put("badge",UserInfoService.getUserBadge((Long)obj[0]));
//            map.put("signature",UserInfoService.getSignature((Long)obj[0]));
//
//            long rn = rankingNum - i;
//            if(rn<1){
//                rn = 1;
//            }
//            map.put("ranking",rn+"");
//
//            positionList.add(map);
//
//            if(i==0 && userId.longValue() != (Long)obj[0]){
//                Map<String,Object> map2 = Maps.newHashMap();
//                map2.put("id",userId);
//                map2.put("userName",UserInfoService.getAliasName(userId));
//                map2.put("integral",obj[2]);
//                map2.put("self",1);
////                map2.put("userImgUrl",UserInfoService.getUserImgUrl(userId));
//                map2.put("integralUpDown",UserInfoService.getUserIntegralUpDown(userId));
//                map2.put("badge",UserInfoService.getUserBadge(userId));
//                map2.put("signature",UserInfoService.getSignature(userId));
//                map2.put("ranking",rn+"");
//                positionList.add(map2);
//            }
//        }
//        for(int i =0;i<list2.size();i++){
//            Object[] obj = list2.get(i);
//            Map<String,Object> map = Maps.newHashMap();
//            map.put("id",obj[0]);
//            map.put("userName",obj[1]);
//            map.put("integral",obj[2]);
//            map.put("self",0);
////            map.put("userImgUrl",UserInfoService.getUserImgUrl((Long)obj[0]));
//            map.put("integralUpDown",UserInfoService.getUserIntegralUpDown((Long)obj[0]));
//            map.put("badge",UserInfoService.getUserBadge((Long)obj[0]));
//            map.put("signature",UserInfoService.getSignature((Long)obj[0]));
//            map.put("ranking",rankingNum.longValue() + i + 1);
//            positionList.add(map);
//        }
//        return positionList;
//    }
//
//    @Transactional(readOnly = false)
//    public void updateBackPicUrl(Long userId,String url){
//        UserInfo ui = userInfoDao.findOne(userId);
//        ui.setBackPicUrl(url);
//        userInfoDao.save(ui);
//    }
//
//
//    public String[] findChexiangAccount(Long userId){
//        List<Object[]> objects = userInfoDao.findChexiangAccountById(userId);
//        String[] str = new String[2];
//        if(Collections3.isNotEmpty(objects)){
//            Object[] obj = objects.get(0);
//            str[0] = (String)obj[0];
//            str[1] = (String)obj[1];
//        }
//        return str;
//    }
//
//    @Transactional(readOnly = false)
//    public Long bindChexiangAccount(Long userId,String chexiangAccount,String chexiangPsw){
//        List<Object[]> list = userInfoDao.findByChexiangList(Lists.newArrayList(chexiangAccount));
//        if(Collections3.isNotEmpty(list)){
//            Object[] obj = list.get(0);
//            if(((Long)obj[0]).longValue() != userId.longValue()){
//                return (Long)obj[0];
//            }
//        }
//        UserInfo ui = userInfoDao.findOne(userId);
//        ui.setChexiangAccount(chexiangAccount);
//        ui.setChexiangPsw(EncryptUtils.getEncryptionToken(chexiangPsw));
//        userInfoDao.save(ui);
//        return null;
//    }
//
//    @Transactional(readOnly = false)
//    public void unbindChexiangAccount(Long id){
//        UserInfo ui = userInfoDao.findOne(id);
//        ui.setChexiangAccount(null);
//        ui.setChexiangPsw(null);
//
//        userInfoDao.save(ui);
//    }
//
//}
